package club.gskj.common.exception;

/**
 * @author : Connor-G 康纳-郭
 * @date : 19:13 21.1.17
 * @Company : http://www.zzrgsoft.org
 * @Version : 1.0
 */


/**
 * 错误码、错误信息定义常量类
 * 1. 错误码定义规则为5位数字
 * 2. 前两位表示业务场景，最后三位表示错误码，如：100001，10通用，001系统未知异常
 * 3. 维护错误码后需要维护错误描述、定义为枚举类
 * 错误码列表
 * 10：通用
 * 001：参数格式校验
 * 002：短信验证码频率太高(60s内)
 * 11：商品
 * 12：订单
 * 13：购物车
 * 14：物流
 * 15：用户
 * 21：库存
 */
public enum BizCodeEnume {

    UNKNOW_EXCEPTION(10000, "系统未知异常"),
    VALID_EXCEPTION(10001, "参数格式校验异常"),
    TOO_MANY_REQUEST(10003, "请求流量过大"),
    PRODUCT_UP_EXCEPTION(11000, "商品上架异常"),
    VALID_SMS_CODE(10002, "短信验证码频率太高,请少会儿再试"),
    USERNAME_EXIST_CODE(15001, "用户名已存在"),
    PHONE_EXIST_CODE(15002, "手机号已存在"),
    LOGINACCT_PASSWORD_INVAILD_CODE(15003, "账号或密码错误"),
    NO_STOCK_EXCEPTION(21000, "商品库存数量不足");

    // 错误码
    private Integer code;
    // 错误描述
    private String msg;

    BizCodeEnume(Integer code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public Integer getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }
}
